/**
 * 
 */
package com.design.patterns.etat;

/**
 * @author fred
 * 
 */
public class EtatAgences implements Etat {
	private Banque banque;

	public EtatAgences(Banque banque) {
		this.banque = banque;
	}

	@Override
	public Etat delAgence(Agence agence) {
		if (!banque.getAgences().contains(agence))
			System.out
					.println("La banque ne contient pas l'agence : " + agence);
		else
			banque.getAgences().remove(agence);
		if (banque.getAgences().isEmpty())
			banque.setEtat(new EtatValide(banque));
		return null;
	}

	@Override
	public Etat delete() {
		System.out
				.println("On ne peut pas supprimer une banque qui contient des agences !!!");
		return null;
	}

	@Override
	public void addAgence(Agence agence) {
		if (agence != null)
			banque.getAgences().add(agence);
		else
			System.out.println("L'agence n'existe pas !!!");

	}

	@Override
	public void validate() {
		System.out.println("La banque est deja validee");
	}
}
